// pages/addAddress/index.js
import {getProvice,getCityAndArea,addAddressApi,editAddress,delAddress} from '../../api/address'

Page({

  /**
   * 页面的初始数据
   */
  data: {
      prolist:[],//省的数据
      cityList:[],//市的数据
      areaList:[],//区的数据
      proObj:"",//当前正在选择的省
      cityObj:"",//当前正在选择的市
      areaObj:"",//当前正在选择的区
      proFlag:false, //省的选择弹出
      cityFlag:false, //市的选择弹出
      areaFlag:false,//区的选择弹出
      linkMan:"",//收货人
      mobile:"",//手机号
      address:"",//详细地址
      editObj:"",//修改地址需要的地址对象数据
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // 接收地址列表页传来的参数
    this.setData({
      editObj:JSON.parse(options.addobj)
    })
    console.log(this.data.editObj)
    if(this.data.editObj.linkMan){
      this.setData({
        linkMan:this.data.editObj.linkMan,
        address:this.data.editObj.address,
        mobile:this.data.editObj.mobile,
        proObj:{
          id:this.data.editObj.provinceId,
          name:this.data.editObj.provinceStr
        },
        cityObj:{
          id:this.data.editObj.cityId,
          name:this.data.editObj.cityStr
        },
        areaObj:{
          id:this.data.editObj.districtId,
          name:this.data.editObj.areaStr
        }
      })
    
    }
   
  },
  async del(){ //删除地址方法
    var res=await delAddress(this.data.editObj.id)
    wx.showToast({
      title: '删除地址成功',
    })
    wx.navigateTo({
      url: '/pages/selectAddress/index'
    })
  },
  async saveAddress(){ //保存地址接口
    var data={
      linkMan: this.data.linkMan,
      address: this.data.address,
      mobile: this.data.mobile,
      token: wx.getStorageSync("token"),
      code: 322000,
      cityId:this.data.cityObj.id,
      provinceId:this.data.proObj.id,
      districtId:this.data.areaObj.id
    }
    if(this.data.editObj.id){ //修改
      data.isDefault=false;
      data.id=this.data.editObj.id;//修改id
      var editRes=await editAddress(data)
      wx.showToast({
        title: '修改地址成功'
      })
    }else{//添加接口
      data.isDefault=true;//设置成默认地址
      var res=await addAddressApi(data)
      console.log(res)
      wx.showToast({
        title: '添加地址成功'
      })
    }
  
    
   
    // 跳转回地址列表
    wx.navigateTo({
     url:"/pages/selectAddress/index"
    })

  },
  selPro(){
    this.setData({
      proFlag:true
    })
  },
  async getPro(){ //获取省的数据
      //
    var res=await getProvice();
    console.log(res);
    this.setData({
      prolist:res.data.data
    })
  },
  async proConfirm(e){//省的确定选择 去加载市的数据
    // 每次选择从新清空 市和区
    this.setData({
      cityObj:{},
      areaObj:{}
    })
    console.log(e.detail.value);
    // 获取市的数据
      var res=await getCityAndArea(e.detail.value.id)
      this.setData({
        proObj:e.detail.value,
        cityList:res.data.data
      })
      console.log(res)
    this.setData({
      proFlag:false
    })
  },
  proCancel(){
    this.setData({
      proFlag:false
    })
  },
  selCity(){ //市的下拉显示
    this.setData({
      cityFlag:true
    })
  },
  async cityConfirm(e){ //市的确定 加载区的数据
    // 获取区县的数据
     // 每次选择清空区
     this.setData({
      areaObj:{}
    })
    var res=await getCityAndArea(e.detail.value.id);
    this.setData({
      cityFlag:false,
      areaList:res.data.data,
      cityObj:e.detail.value
    })

  },
  cityCancel(){ //市的取消
    this.setData({
      cityFlag:false
    })
  },
  selArea(){
    this.setData({
      areaFlag:true
    })
  },
  areaConfirm(e){//区的确定选择
     this.setData({
      areaFlag:false,
       areaObj:e.detail.value
     })
  },
  areaCancel(){
    this.setData({
      areaFlag:false
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.getPro();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})